1. Field of the Invention
The present invention relates to a moving image encoding device and a moving image encoding method, and in particular to a moving image encoding device, a moving image encoding method, and a computer program product including moving image encoding program that divide an image to perform encoding by a plurality of encoding units.
2. Description of the Related Art
To record a moving image on a recording medium or transmit a moving image via a network these days, the moving image is encoded. Typical examples of such an encoding method include moving picture experts group phase 4 Part10: advanced video coding (MPEG-4 AVC) (refer to ISO/IEC14496-10:2004, Information technology—Coding of audio-Visual objects—Part10: Advanced Video Coding).
MPEG-4 AVC divides an image into macroblocks (hereinafter, referred to as MBs) to perform processing. An MB is a unit of 16 pixels in the horizontal direction and 16 pixels in the vertical direction (hereinafter, referred to as 16×16 pixels) in a luminance component. MPEG-4 AVC further divides the pixels in the MB into blocks to perform predictive encoding and discrete cosine transform (DCT), which is an example of orthogonal transform. DCT is performed in units of DCT blocks composed of 4×4 pixels or 8×8 pixels. The result of DCT is quantized and is subjected to variable length encoding.
To reduce block noise, MPEG-4 AVC includes processing called deblock filtering in standards. Block noise is generated by performing quantization on the result of DCT in encoding, and performing inverse quantization in decoding, which makes block boundaries visually conspicuous. Deblock filtering is a kind of filtering performed on pixels on the block boundaries to reduce block noise.
With the improvement in image definition, loads on moving image encoding devices have been increasing. To address this, a technology for improving the performance of moving image encoding devices has been desired. MPEG-4 AVC can perform parallel processing by dividing a picture into a plurality of slices. A slice is a unit of one MB at the minimum and all the MBs in the screen at the maximum. By operating a plurality of moving image encoding devices having a lower arithmetic capacity in parallel operation, it is possible to perform encoding at a lower cost compared with the case where another high-performance moving image encoding device is provided.
Simply performing parallel processing by dividing an image into slices makes slice boundaries formed by the division visually conspicuous because of block noise or the like generated by the moving image encoding processing.
To address this, Japanese Laid-open Patent Publication No. 8-46961 discloses a conventional method for dividing an image such that boundary areas overlap with each other and performing encoding. The method disclosed in Japanese Laid-open Patent Publication No. 8-46961 gives a weighted average to the overlapping areas to smoothly connect the areas in decoding, thereby making boundary lines generated on the boundaries inconspicuous.
The method for encoding and decoding a moving image disclosed in Japanese Laid-open Patent Publication No. 8-46961, however, needs special processing to process the overlapping areas in decoding. Because typical decoding devices conforming to MPEG-4 AVC, which are widely used, are incapable of performing such processing, another dedicated decoding device is required.